import store from "./store";
import $router from "./utils/router";

const loginFn = require("./components/Login/loginNewFunc");
App({
  onLaunch: function(data) {
    // 获取缓存中得token
    store.initStorageData();
    store.getStorageJavaToken();
    // 获取设备信息
    store.getAgentInfo();
    // 外部传的token进来，可以免登录
    this.setLoginToken(data);
    // 获取胶囊的位置信息
    // store.getRightButtonPostion();

    store.onChange = function() {
      store.autoSaveToStorage();
    };

    this.updateApp();
  },
  onShow() {

  },
  setLoginToken(data) {
    const { loginInfo = "" } = (data.referrerInfo && data.referrerInfo.extraData) || {};
    loginInfo && loginInfo.token && loginFn.loginSuccess(loginInfo);
  },
  // 401 重试事件发布
  onAuthLogin: function(data) {
    this.authLogin = data;
  },
  // 全局错误捕捉
  onError(target) {
    console.log("onError", target);
  },
  // 页面找不到捕捉
  onPageNotFound(target) {
    console.log("onPageNotFound", target);
    $router.redirectTo("NOT_FOUND", { path: target.path });
  },

  sentReLoginEvent(data) {
    if (this.authLogin != null) {
      this.authLogin(data);
    }
  },
  // 更新App
  updateApp() {
    const updateManager = wx.getUpdateManager();
    updateManager.onCheckForUpdate(function(res) {
      // 请求完新版本信息的回调
      console.log("updateManager.onCheckForUpdate", res.hasUpdate);
    });
    updateManager.onUpdateReady(function() {
      wx.showModal({
        title: "更新提示",
        content: "新版本已经准备好，是否重启应用？",
        success(res) {
          if (res.confirm) {
            // 新的版本已经下载好，调用 applyUpdate 应用新版本并重启
            updateManager.applyUpdate();
          }
        }
      });
    });
    updateManager.onUpdateFailed(function(res) {
      // 新版本下载失败
      console.log("updateManager.onUpdateFailed", res);
    });
  }
});


